package com.dormms.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.dormms.bean.DormAdminInfo;
import com.dormms.bean.User;
import com.dormms.bean.UserRole;
import com.dormms.dao.DormAdminInfoDao;
import com.dormms.dao.DormLocationDao;
import com.dormms.dao.UserDao;
import com.dormms.dao.UserRoleDao;
import com.dormms.service.DormAdminService;
@Service
public class DormAdminInfoService implements DormAdminService{
	@Autowired
	private UserDao userDao;
	@Autowired
	private UserRoleDao userRoleDao;
	@Autowired
	private DormAdminInfoDao dormAdminInfoDao;
	@Autowired
	private DormLocationDao dormLocationDao;

	public List<DormAdminInfo> queryDormAdminInfoByDormAdminInfo(DormAdminInfo dormAdminInfo) {
		// TODO Auto-generated method stub
		return dormAdminInfoDao.queryDormAdminInfo(dormAdminInfo);
	}

	public Integer insertDormAdminInfo(DormAdminInfo dormAdminInfo) {
		// TODO Auto-generated method stub
		String userid = userDao.isUserExist(dormAdminInfo.getDormAdminId());
		if(dormAdminInfo.getDormAdminId().equals(userid)) {
			return 0;
		}
		//插入到用户表
		User user = new User();
		user.setUsername(dormAdminInfo.getDormAdminId());
		user.setPassword("123456");
		userDao.insertUser(user);
		//插入到用户角色表
		UserRole userRole = new UserRole();
		userRole.setUserId(dormAdminInfo.getDormAdminId());
		userRole.setRoleId(2);
		userRoleDao.insertUserRole(userRole);
		//插入到宿舍管理员信息表
		dormAdminInfoDao.insertDormAdminInfo(dormAdminInfo);
		return dormAdminInfo.getDormAdminInfoId();
	}

	public Integer updateDormAdminInfoBySuper(DormAdminInfo dormAdminInfo) {
		// TODO Auto-generated method stub
		return dormAdminInfoDao.updateDormAdminInfoBySuper(dormAdminInfo);
	}

	public DormAdminInfo getDormAdminInfo(String dormAdminId) {
		// TODO Auto-generated method stub
		return dormAdminInfoDao.queryDormAdminInfoByDormAdminId(dormAdminId);
	}

	public Integer updateDormAdminInfo(DormAdminInfo dormAdminInfo) {
		// TODO Auto-generated method stub
		return dormAdminInfoDao.updateDormAdminInfo(dormAdminInfo);
	}

	public Integer deleteDormAdmin(String dormAdminId) {
		// TODO Auto-generated method stub
		//删除宿舍管理员宿舍楼管理信息
		dormLocationDao.deleteDromLocationAdminByDormAdminId(dormAdminId);
		//删除宿舍管理员基本信息
		dormAdminInfoDao.deleteDormAdminInfo(dormAdminId);
		userRoleDao.deleteUserRole(dormAdminId);
		return userDao.deleteUser(dormAdminId);
	}

}
